<h1>Bulk SMS Operators</h1>

<h2>Introduction</h2>
<p>Apart from GSM modems or phones, SMSLib also supports some bulk SMS operators. These operators are companies which provide APIs and allow you to send SMS via their infrastructure. There are some notable pros and cons in using a bulk SMS operator instead of a simple GSM modem:</p>
<p>Pros</p>
<ul>
<li>Faster throughput: Using a bulk SMS company, you can send your messages much faster than when using a GSM modem.</li>
<li>Reliability: Bulk SMS companies may have redundant network connections available.</li>
</ul>
<p>Cons</p>
<ul>
<li>Reliability: Bulk SMS companies are sometimes (or for some periods) blocked by national GSM providers due to spam.</li>
<li>Cost: The cost per message is a bit higher (but drops if you send out many messages).</li>
</ul>
<p>One way communication: Currently, SMSLib and bulk SMS companies can be used only for sending messages - you cannot receive messages via those companies. This is an SMSLib limitation.</p>
<p>In order to overcome all of the above limitations and combine the best of all worlds, you can also consider using both a GSM modem and a bulk SMS operator. The GSM modem can be used for receiving messages. On the other hand, you can forward all outbound messages via the bulk operator. SMSLib supports such a scenario.</p>

<h2>Disclaimer</h2>
<p>Please pay particular attention to the following issues:</p>
<ul>
<li>SMSLib is not supported nor endorsed by any of the following companies.</li>
<li>Its possible that the supported bulk sms companies offer more features than what SMSLib supports.</li>
</ul>

<h2>Supported Bulk SMS Operators</h2>

<h3>Clickatell</h3>
<p><a href="http://www.clickatell.com">Clickatell</a> is one of the most known bulk SMS operators, supporting many transport streams. SMSLib implements the HTTP / HTTPS Clickatell interface. The following features are supported:</p>
<ul>
<li>Plain (http) or secure (https) communication.</li>
<li>Query of credit balance.</li>
<li>Query of coverage for a specific message.</li>
<li>Query of status/delivery report for a sent message.</li>
<li>Simple text and/or WAP SI messages.</li>
<li>Three (3) native priority queues.</li>
<li>7 bit or Unicode messages, flash messages and large (multipart) messages are supported.</li>
<li>Custom originator (from) number or alphanumeric.</li>
</ul>
<p>Application notes:</p>
<ul>
<li>In order to use SMSLib with Clickatell, you should register at Clickatell and also register at their SMS Gateway service. Three distinct values are used for authenticating to Clickatell: an API ID, a Username and a Password. All of those will be available right after your registration.</li>
<li>Message IDs returned from Clickatell are big, alphanumeric strings which look like Class Ids.</li>
<li>To get a Custom Originator number or alphanumeric, you must request it from Clickatell. Its up to Clickatell to grand you the right to use this Originator ID.</li>
</ul>

<h3>BULKSMS</h3>
<p><a href="http://bulksms.net">BULKSMS</a> is another, very well known bulk SMS operator, supporting several transport streams. SMSLib implements the HTTP-to-SMS interface. The following features are supported:</p>
<ul>
<li>Plain (http) or secure (https) communication.</li>
<li>Query of credit balance.</li>
<li>Query of status/delivery report for a sent message.</li>
<li>Simple text messages.</li>
<li>Flash messages and large (multipart) messages are supported.</li>
<li>Custom originator (from) number or alphanumeric.</li>
</ul>
<p>Application notes:</p>
<ul>
<li>In order to use SMSLib with BulkSMS, you should register at BulkSMS.</li>
<li>Message IDs returned from BulkSMS are big, alphanumeric strings which look like Class Ids.</li>
<li>To get a Custom Originator number or alphanumeric, you must request it from BulkSMS. Its up to BulkSMS to grand you the right to use this Originator ID.</li>
</ul>
